package com.ruoyi.web.admin.data.command;

/**
 * 命令处理器接口
 * 策略模式：定义不同类型命令的处理策略
 *
 * @author 10100
 */
public interface CommandHandler {

    /**
     * 处理命令并生成响应
     *
     * @param deviceId  设备ID
     * @param iccid     ICCID
     * @param recordId  请求唯一标识
     * @param command   命令类型
     * @param type      消息类型
     * @param timestamp 上报时间
     * @param length    数据长度
     * @param body      消息体
     * @return 响应消息
     */
    String handle(String deviceId, String iccid, String recordId, String command,
                  String type, String timestamp, String length, String body);

    /**
     * 获取此处理器支持的命令类型
     *
     * @return 命令类型
     */
    String getCommandType();
}